import {specsList,specsCount} from '../../../request/api'

const state = {
    specsList:[],
    size:2,
    page:1,
    count:0
}

const getters = {
      //返回管理员列表
      getSpecsList(state){
        return state.specsList
    },
    // 返回总数
    getCount(state){
        return state.count
    },

    // 返回当前显示条数
    getSize(state){
        return state.size
    }
}

const mutations = {
    REQ_SPECCSLIST(state,payload){
        state.specsList = payload
    },
    REQ_GETCOUNT(state,payload){
        state.count = payload
    },
    // 修改页码
    CHANGE_PAGE(state,payload){
       state.page = payload
    }
}


const actions = {
    // 封转一个获取规格列表的行动
    getSpecsListAction(context){
        specsList({
            size:context.state.size,
            page:context.state.page
        })
        .then(res=>{
            console.log(res,'规格列表');
            if(res.code==200){
                context.commit('REQ_SPECCSLIST',res.list)
                if(context.state.page !=1 && res.list.length==0){
                    context.dispatch('changePageAction',context.state.page-1)
                }
            }
        })
    },
    // 封装一个获取总数的行动
    getCountAction({commit}){
        specsCount()
        .then(res=>{
            // console.log(res,'规格总数');
            if(res.code == 200){
            commit('REQ_GETCOUNT',res.list[0].total)
            }
        })
    },
    // 封装一个切换页码的行动
    changePageAction(context,payload){
         //第一、当用户切换页码，我们要修改page
         context.commit('CHANGE_PAGE',payload)
        //  第二。 从新调用接口
        context.dispatch('getSpecsListAction')
    }
}

export default {
    state,
    getters,
    mutations,
    actions,
    namespaced:true
}